package ${businessPackagePath}.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import ${entityPackagePath}.${changeTableName};
import ${entityPackagePath}.${changeTableName}Vo;
import ${entityPackagePath}.${changeTableName}UpdateDto;
import ${entityPackagePath}.${changeTableName}SelectDto;
import ${entityPackagePath}.${changeTableName}InsertDto;

import java.util.List;

/**
 * ${tableAnnotation} service接口
 *
 * @author ${author}
 * @url https://gitee.com/pucong
 * @create ${date}
 */
public interface ${changeTableName}Service extends IService<${changeTableName}>{

    /**
     * 分页条件查询
     * @param pageNum
     * @param pageSize
     * @param ${changeTableName?uncap_first}Dto
     * @return
     */
    IPage get${changeTableName}ListByPage(int pageNum, int pageSize, ${changeTableName}SelectDto ${changeTableName?uncap_first}Dto);

    /**
     * 不分页条件查询
     * @param ${changeTableName?uncap_first}Dto
     * @return
     */
    List<${changeTableName}Vo> get${changeTableName}List(${changeTableName}SelectDto ${changeTableName?uncap_first}Dto);

    /**
     * 根据主键获取
     * @param id
     * @return
     */
    ${changeTableName}Vo get${changeTableName}ById(String id);

    /**
     * 新增数据
     * @param ${changeTableName?uncap_first}Dto
     * @return
     */
    int insert${changeTableName}(${changeTableName}InsertDto ${changeTableName?uncap_first}Dto);

    /**
     * 根据主键更新
     * @param id
     * @param ${changeTableName?uncap_first}Dto
     * @return
     */
    int update${changeTableName}ById(String id, ${changeTableName}UpdateDto ${changeTableName?uncap_first}Dto);

    /**
     * 根据id删除数据
     * @param id
     * @return
     */
    int delete${changeTableName}ById(String id);

    /**
     * 根据id批量删除数据
     * @param ids
     * @return
     */
    int batchDelete${changeTableName}ByIds(List<String> ids);
}
